package cn.linkai.star.graph.core.service;

import cn.linkai.star.graph.comfyui.client.pojo.ComfyuiTask;

public interface RedisService {

    /**
     * 提交生图任务到redis队列中
     * @param comfyuiTask
     * @return
     */
    ComfyuiTask addQueueTask(ComfyuiTask comfyuiTask);

    /**
     * 从redis中获取序列号最小的一个的任务
     * @return
     */
    ComfyuiTask popQueueTask();

    /**
     * 缓存Comfyui任务id和任务对象
     * @param promptId 任务id
     * @param task
     */
    void addStartedTask(String promptId, ComfyuiTask task);

    /**
     * 获取缓存的Comfyui任务对象
     * @param promptId 缓存的任务id
     * @return
     */
    ComfyuiTask getStartedTask(String promptId);

    /**
      * 判断redis队列中是否有任务
     * @return
     */
    boolean hasQueueTask();
}
